package com.mofang.ticketing.user.serve.role.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mofang.ticketing.common.core.dto.PrimaryIdDTO;
import com.mofang.ticketing.user.serve.role.dto.request.RoleAddReqDTO;
import com.mofang.ticketing.user.serve.role.dto.request.RoleListPageReqDTO;
import com.mofang.ticketing.user.serve.role.dto.request.RoleUpdateReqDTO;
import com.mofang.ticketing.user.serve.role.dto.response.RoleDetailRespDTO;
import com.mofang.ticketing.user.serve.role.dto.response.RoleListPageRespDTO;
import com.mofang.ticketing.user.serve.role.dto.response.MerchantRoleSelectRespDTO;

import java.util.List;

/**
 * @author LGC
 * @date 2023/3/15 13:51
 */
public interface RoleService {

    /**
     * 角色详情
     *
     * @param dto
     * @return
     */
    RoleDetailRespDTO roleDetail(PrimaryIdDTO dto);

    /**
     * 角色分页列表
     *
     * @param dto
     * @return
     */
    IPage<RoleListPageRespDTO> roleListPage(RoleListPageReqDTO dto);


    /**
     * 商户角色新增
     *
     * @param dto
     */
    void roleAdd(RoleAddReqDTO dto);

    /**
     * 平台角色修改
     */
    void roleUpdate(RoleUpdateReqDTO dto);

    /**
     * 商户级角色选择
     *
     * @return
     */
    List<MerchantRoleSelectRespDTO> merchantRoleSelect(Long merchantId);
}
